home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Games / JST / sources / src / loaders / JSTExeHD / ECS_1C_2Fhd.asm < prev    next >
Encoding:
Assembly Source File  |  2001-03-19  |  1.5 KB  |  96 lines

  1. ; *** OSEmu 512K Hard Disk Loader V1.0
  2. ; *** Written by Jean-François Fabre 1999
  3.  
  4.  
  5.     include    "syslibs.i"
  6.     include    "jst.i"
  7.  
  8.     HD_PARAMS    "",0,0
  9.  
  10. MEM_SIZE = $100000
  11.  
  12. loader:
  13.     move.l    #$200000,D0
  14.     JSRABS    AllocExtMem
  15.  
  16.     Mac_printf    "Generic xMeg/ECS OSEmu HD Loader V1.0"
  17.     Mac_printf    "Coded by Jean-François Fabre © 1999"
  18.  
  19.     JSRABS    UseHarryOSEmu
  20.  
  21.     JSRGEN    GetUserData
  22.     tst.l    (A0)
  23.     beq    UDErr
  24.     move.l    A0,D0
  25.     lea    MAINFILE(pc),A0
  26.     move.l    A0,D1
  27.     JSRGEN    StrcpyAsm
  28.  
  29.     TESTFILE    MAINFILE
  30.     tst.l    d0
  31.     bne    FileErr
  32.  
  33.     JSRABS    LoadFiles
  34.  
  35.     moveq.l    #0,D0
  36.     move.l    #CACRF_CopyBack,D1
  37.     JSRABS    Degrade
  38.  
  39.     GO_SUPERVISOR
  40.     SAVE_OSDATA    MEM_SIZE,#$5D
  41.  
  42.     MOVE.L    $4.W,A6            ;OPEN DOSLIB FOR USE (THE EMU
  43. ;;    or.w    #AFF_68020,AttnFlags(A6)
  44.  
  45.     ; **** boot stuff and patch
  46.  
  47.     MOVE.L    $4.W,A6            ;OPEN DOSLIB FOR USE (THE EMU
  48.     MOVEQ.L    #0,D0            ;PROVIDES THE FUNCTIONS)
  49.     LEA    DOSNAM(PC),A1
  50.     JSRLIB    OpenLibrary(A6)
  51.     LEA.L    DOSP(PC),a4
  52.     MOVE.L    d0,(a4)
  53.     MOVE.L    D0,A6
  54.  
  55.     LEA.L    MAINFILE(PC),A0        ;LOAD MAIN GAME
  56.     MOVE.L    A0,D1
  57.     JSRLIB    LoadSeg
  58.                     ;NO NEED TO STORE POINTER FOR LATER USE
  59.     LSL.L    #2,D0
  60.     MOVE.L    D0,A1
  61.     ADDQ.L    #4,A1
  62.  
  63.     cmp.l    #0,A1
  64.     beq    LoadsegErr
  65.  
  66.     lea    lf(pc),A0
  67.     MOVEQ.L    #1,D0        ; no pointer on argumentline
  68.  
  69.     
  70.     jsr    (A1)
  71.  
  72. LoadsegErr
  73.     JSRGEN    InGameExit
  74. FileErr:
  75.     Mac_printf    "File ",f
  76.     lea    MAINFILE(pc),A1
  77.     JSRABS    Display
  78.     Mac_printf     " missing!"
  79.     JSRABS    CloseAll
  80.  
  81. UDErr:
  82.     Mac_printf    "Executable program name must be passed in USERDATA"
  83.     JSRABS    CloseAll
  84.  
  85. DOSP:
  86.     dc.l    0
  87. DOSNAM:
  88.     dc.b    "dos.library",0
  89. lf:
  90.     dc.b    10    ; linefeed
  91.  
  92. MAINFILE:
  93.     blk.b    256,0
  94.  
  95.  
  96.